package com.jcfy.project.module.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.jcfy.framework.aspectj.lang.annotation.Excel;
import com.jcfy.framework.web.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 商品对象 t_goods
 *
 * @author jiangfeng
 * @date 2020-08-05
 */
public class TGoods extends BaseEntity {
    private static final long serialVersionUID=1L;

    /** 主键ID */
    private Long goodsId;

    /** 商品编号 */
    @Excel(name = "商品编号" )
    private String goodsNo;

    /** 商品名称 */
    @Excel(name = "商品名称" )
    private String name;

    /** 商品所属类目ID */
    @Excel(name = "商品所属类目ID" )
    private Long categoryId;

    /** 供应商ID */
    @Excel(name = "供应商ID" )
    private Long supplierId;

    /** 提货地址(自提点) */
    @Excel(name = "提货地址(自提点)" )
    private Long teamId;

    /** 配送时间 */
    @JsonFormat(pattern = "yyyy-MM-dd" )
    @Excel(name = "配送时间" , width = 30, dateFormat = "yyyy-MM-dd" )
    private Date deliveryTime;

    /** 商品关键字，采用逗号间隔 */
    @Excel(name = "商品关键字，采用逗号间隔" )
    private String keywords;

    /** 商品图片 */
    @Excel(name = "商品图片" )
    private String picUrl;

    /** 商品banner图，采用JSON数组格式 */
    @Excel(name = "商品banner图，采用JSON数组格式" )
    private String banners;

    /** 商品简介 */
    @Excel(name = "商品简介" )
    private String brief;

    /** 是否上架 */
    @Excel(name = "是否上架" )
    private Integer isOnSale;

    /** 商品分享朋友圈图片 */
    @Excel(name = "商品分享朋友圈图片" )
    private String shareUrl;

    /** 商品规格 */
    @Excel(name = "商品规格" )
    private String specifications;

    /** 零售价格 */
    @Excel(name = "零售价格" )
    private BigDecimal retailPrice;

    /** 优惠价格 */
    @Excel(name = "优惠价格" )
    private BigDecimal favorablePrice;

    /** 商品详细介绍，是富文本格式 */
    @Excel(name = "商品详细介绍，是富文本格式" )
    private String detail;

    /** 浏览量 */
    @Excel(name = "浏览量" )
    private Integer browse;

    /** 已销售总量 */
    @Excel(name = "已销售总量" )
    private Integer sales;

    /** 佣金类型 */
    @Excel(name = "佣金类型" )
    private Integer brokerageType;

    /** 推广佣金金额 */
    @Excel(name = "推广佣金金额" )
    private BigDecimal brokeragePrice;

    /** 库存 */
    @Excel(name = "库存" )
    private Integer inventory;

    /** 销量 */
    @Excel(name = "销量" )
    private Integer saleCount;

    /** 运费 */
    @Excel(name = "运费" )
    private Integer freight;

    /** 排序 */
    @Excel(name = "排序" )
    private Integer sort;

    /** 是否推荐（0：否、1：是） */
    @Excel(name = "是否推荐" )
    private Integer isRecommend;

    /** 状态 */
    @Excel(name = "状态" )
    private Integer status;

    public void setGoodsId(Long goodsId) {
        this.goodsId = goodsId;
    }

    public Long getGoodsId() {
        return goodsId;
    }
    public void setGoodsNo(String goodsNo) {
        this.goodsNo = goodsNo;
    }

    public String getGoodsNo() {
        return goodsNo;
    }
    public void setName(String name) {
        this.name = name;
    }

    public String getName() {
        return name;
    }
    public void setCategoryId(Long categoryId) {
        this.categoryId = categoryId;
    }

    public Long getCategoryId() {
        return categoryId;
    }
    public void setSupplierId(Long supplierId) {
        this.supplierId = supplierId;
    }

    public Long getSupplierId() {
        return supplierId;
    }
    public void setTeamId(Long teamId) {
        this.teamId = teamId;
    }

    public Long getTeamId() {
        return teamId;
    }
    public void setDeliveryTime(Date deliveryTime) {
        this.deliveryTime = deliveryTime;
    }

    public Date getDeliveryTime() {
        return deliveryTime;
    }
    public void setKeywords(String keywords) {
        this.keywords = keywords;
    }

    public String getKeywords() {
        return keywords;
    }
    public void setPicUrl(String picUrl) {
        this.picUrl = picUrl;
    }

    public String getPicUrl() {
        return picUrl;
    }
    public void setBanners(String banners) {
        this.banners = banners;
    }

    public String getBanners() {
        return banners;
    }
    public void setBrief(String brief) {
        this.brief = brief;
    }

    public String getBrief() {
        return brief;
    }
    public void setIsOnSale(Integer isOnSale) {
        this.isOnSale = isOnSale;
    }

    public Integer getIsOnSale() {
        return isOnSale;
    }
    public void setShareUrl(String shareUrl) {
        this.shareUrl = shareUrl;
    }

    public String getShareUrl() {
        return shareUrl;
    }
    public void setSpecifications(String specifications) {
        this.specifications = specifications;
    }

    public String getSpecifications() {
        return specifications;
    }
    public void setRetailPrice(BigDecimal retailPrice) {
        this.retailPrice = retailPrice;
    }

    public BigDecimal getRetailPrice() {
        return retailPrice;
    }
    public void setFavorablePrice(BigDecimal favorablePrice) {
        this.favorablePrice = favorablePrice;
    }

    public BigDecimal getFavorablePrice() {
        return favorablePrice;
    }
    public void setDetail(String detail) {
        this.detail = detail;
    }

    public String getDetail() {
        return detail;
    }
    public void setBrowse(Integer browse) {
        this.browse = browse;
    }

    public Integer getBrowse() {
        return browse;
    }
    public void setSales(Integer sales) {
        this.sales = sales;
    }

    public Integer getSales() {
        return sales;
    }
    public void setBrokerageType(Integer brokerageType) {
        this.brokerageType = brokerageType;
    }

    public Integer getBrokerageType() {
        return brokerageType;
    }
    public void setBrokeragePrice(BigDecimal brokeragePrice) {
        this.brokeragePrice = brokeragePrice;
    }

    public BigDecimal getBrokeragePrice() {
        return brokeragePrice;
    }
    public void setInventory(Integer inventory) {
        this.inventory = inventory;
    }

    public Integer getInventory() {
        return inventory;
    }
    public void setSaleCount(Integer saleCount) {
        this.saleCount = saleCount;
    }

    public Integer getSaleCount() {
        return saleCount;
    }
    public void setFreight(Integer freight) {
        this.freight = freight;
    }

    public Integer getFreight() {
        return freight;
    }
    public void setSort(Integer sort) {
        this.sort = sort;
    }

    public Integer getSort() {
        return sort;
    }

    public Integer getIsRecommend() {
        return isRecommend;
    }

    public void setIsRecommend(Integer isRecommend) {
        this.isRecommend = isRecommend;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public Integer getStatus() {
        return status;
    }

    @Override
    public String toString(){
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("goodsId" ,getGoodsId())
            .append("goodsNo" ,getGoodsNo())
            .append("name" ,getName())
            .append("categoryId" ,getCategoryId())
            .append("supplierId" ,getSupplierId())
            .append("teamId" ,getTeamId())
            .append("deliveryTime" ,getDeliveryTime())
            .append("keywords" ,getKeywords())
            .append("picUrl" ,getPicUrl())
            .append("banners" ,getBanners())
            .append("brief" ,getBrief())
            .append("isOnSale" ,getIsOnSale())
            .append("shareUrl" ,getShareUrl())
            .append("specifications" ,getSpecifications())
            .append("retailPrice" ,getRetailPrice())
            .append("favorablePrice" ,getFavorablePrice())
            .append("detail" ,getDetail())
            .append("browse" ,getBrowse())
            .append("sales" ,getSales())
            .append("brokerageType" ,getBrokerageType())
            .append("brokeragePrice" ,getBrokeragePrice())
            .append("inventory" ,getInventory())
            .append("saleCount" ,getSaleCount())
            .append("freight" ,getFreight())
            .append("sort" ,getSort())
            .append("isRecommend" ,getIsRecommend())
            .append("createTime" ,getCreateTime())
            .append("updateTime" ,getUpdateTime())
            .append("status" ,getStatus())
            .toString();
    }
}
